package com.yili.oa.models;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class UserExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public UserExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andUserIdIsNull() {
            addCriterion("user_id is null");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNotNull() {
            addCriterion("user_id is not null");
            return (Criteria) this;
        }

        public Criteria andUserIdEqualTo(String value) {
            addCriterion("user_id =", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotEqualTo(String value) {
            addCriterion("user_id <>", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThan(String value) {
            addCriterion("user_id >", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThanOrEqualTo(String value) {
            addCriterion("user_id >=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThan(String value) {
            addCriterion("user_id <", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThanOrEqualTo(String value) {
            addCriterion("user_id <=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLike(String value) {
            addCriterion("user_id like", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotLike(String value) {
            addCriterion("user_id not like", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdIn(List<String> values) {
            addCriterion("user_id in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotIn(List<String> values) {
            addCriterion("user_id not in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdBetween(String value1, String value2) {
            addCriterion("user_id between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotBetween(String value1, String value2) {
            addCriterion("user_id not between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andUserAccountIsNull() {
            addCriterion("user_account is null");
            return (Criteria) this;
        }

        public Criteria andUserAccountIsNotNull() {
            addCriterion("user_account is not null");
            return (Criteria) this;
        }

        public Criteria andUserAccountEqualTo(String value) {
            addCriterion("user_account =", value, "userAccount");
            return (Criteria) this;
        }

        public Criteria andUserAccountNotEqualTo(String value) {
            addCriterion("user_account <>", value, "userAccount");
            return (Criteria) this;
        }

        public Criteria andUserAccountGreaterThan(String value) {
            addCriterion("user_account >", value, "userAccount");
            return (Criteria) this;
        }

        public Criteria andUserAccountGreaterThanOrEqualTo(String value) {
            addCriterion("user_account >=", value, "userAccount");
            return (Criteria) this;
        }

        public Criteria andUserAccountLessThan(String value) {
            addCriterion("user_account <", value, "userAccount");
            return (Criteria) this;
        }

        public Criteria andUserAccountLessThanOrEqualTo(String value) {
            addCriterion("user_account <=", value, "userAccount");
            return (Criteria) this;
        }

        public Criteria andUserAccountLike(String value) {
            addCriterion("user_account like", value, "userAccount");
            return (Criteria) this;
        }

        public Criteria andUserAccountNotLike(String value) {
            addCriterion("user_account not like", value, "userAccount");
            return (Criteria) this;
        }

        public Criteria andUserAccountIn(List<String> values) {
            addCriterion("user_account in", values, "userAccount");
            return (Criteria) this;
        }

        public Criteria andUserAccountNotIn(List<String> values) {
            addCriterion("user_account not in", values, "userAccount");
            return (Criteria) this;
        }

        public Criteria andUserAccountBetween(String value1, String value2) {
            addCriterion("user_account between", value1, value2, "userAccount");
            return (Criteria) this;
        }

        public Criteria andUserAccountNotBetween(String value1, String value2) {
            addCriterion("user_account not between", value1, value2, "userAccount");
            return (Criteria) this;
        }

        public Criteria andUserPasswordIsNull() {
            addCriterion("user_password is null");
            return (Criteria) this;
        }

        public Criteria andUserPasswordIsNotNull() {
            addCriterion("user_password is not null");
            return (Criteria) this;
        }

        public Criteria andUserPasswordEqualTo(String value) {
            addCriterion("user_password =", value, "userPassword");
            return (Criteria) this;
        }

        public Criteria andUserPasswordNotEqualTo(String value) {
            addCriterion("user_password <>", value, "userPassword");
            return (Criteria) this;
        }

        public Criteria andUserPasswordGreaterThan(String value) {
            addCriterion("user_password >", value, "userPassword");
            return (Criteria) this;
        }

        public Criteria andUserPasswordGreaterThanOrEqualTo(String value) {
            addCriterion("user_password >=", value, "userPassword");
            return (Criteria) this;
        }

        public Criteria andUserPasswordLessThan(String value) {
            addCriterion("user_password <", value, "userPassword");
            return (Criteria) this;
        }

        public Criteria andUserPasswordLessThanOrEqualTo(String value) {
            addCriterion("user_password <=", value, "userPassword");
            return (Criteria) this;
        }

        public Criteria andUserPasswordLike(String value) {
            addCriterion("user_password like", value, "userPassword");
            return (Criteria) this;
        }

        public Criteria andUserPasswordNotLike(String value) {
            addCriterion("user_password not like", value, "userPassword");
            return (Criteria) this;
        }

        public Criteria andUserPasswordIn(List<String> values) {
            addCriterion("user_password in", values, "userPassword");
            return (Criteria) this;
        }

        public Criteria andUserPasswordNotIn(List<String> values) {
            addCriterion("user_password not in", values, "userPassword");
            return (Criteria) this;
        }

        public Criteria andUserPasswordBetween(String value1, String value2) {
            addCriterion("user_password between", value1, value2, "userPassword");
            return (Criteria) this;
        }

        public Criteria andUserPasswordNotBetween(String value1, String value2) {
            addCriterion("user_password not between", value1, value2, "userPassword");
            return (Criteria) this;
        }

        public Criteria andUserNameIsNull() {
            addCriterion("user_name is null");
            return (Criteria) this;
        }

        public Criteria andUserNameIsNotNull() {
            addCriterion("user_name is not null");
            return (Criteria) this;
        }

        public Criteria andUserNameEqualTo(String value) {
            addCriterion("user_name =", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameNotEqualTo(String value) {
            addCriterion("user_name <>", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameGreaterThan(String value) {
            addCriterion("user_name >", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameGreaterThanOrEqualTo(String value) {
            addCriterion("user_name >=", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameLessThan(String value) {
            addCriterion("user_name <", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameLessThanOrEqualTo(String value) {
            addCriterion("user_name <=", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameLike(String value) {
            addCriterion("user_name like", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameNotLike(String value) {
            addCriterion("user_name not like", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameIn(List<String> values) {
            addCriterion("user_name in", values, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameNotIn(List<String> values) {
            addCriterion("user_name not in", values, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameBetween(String value1, String value2) {
            addCriterion("user_name between", value1, value2, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameNotBetween(String value1, String value2) {
            addCriterion("user_name not between", value1, value2, "userName");
            return (Criteria) this;
        }

        public Criteria andUserSexIsNull() {
            addCriterion("user_sex is null");
            return (Criteria) this;
        }

        public Criteria andUserSexIsNotNull() {
            addCriterion("user_sex is not null");
            return (Criteria) this;
        }

        public Criteria andUserSexEqualTo(String value) {
            addCriterion("user_sex =", value, "userSex");
            return (Criteria) this;
        }

        public Criteria andUserSexNotEqualTo(String value) {
            addCriterion("user_sex <>", value, "userSex");
            return (Criteria) this;
        }

        public Criteria andUserSexGreaterThan(String value) {
            addCriterion("user_sex >", value, "userSex");
            return (Criteria) this;
        }

        public Criteria andUserSexGreaterThanOrEqualTo(String value) {
            addCriterion("user_sex >=", value, "userSex");
            return (Criteria) this;
        }

        public Criteria andUserSexLessThan(String value) {
            addCriterion("user_sex <", value, "userSex");
            return (Criteria) this;
        }

        public Criteria andUserSexLessThanOrEqualTo(String value) {
            addCriterion("user_sex <=", value, "userSex");
            return (Criteria) this;
        }

        public Criteria andUserSexLike(String value) {
            addCriterion("user_sex like", value, "userSex");
            return (Criteria) this;
        }

        public Criteria andUserSexNotLike(String value) {
            addCriterion("user_sex not like", value, "userSex");
            return (Criteria) this;
        }

        public Criteria andUserSexIn(List<String> values) {
            addCriterion("user_sex in", values, "userSex");
            return (Criteria) this;
        }

        public Criteria andUserSexNotIn(List<String> values) {
            addCriterion("user_sex not in", values, "userSex");
            return (Criteria) this;
        }

        public Criteria andUserSexBetween(String value1, String value2) {
            addCriterion("user_sex between", value1, value2, "userSex");
            return (Criteria) this;
        }

        public Criteria andUserSexNotBetween(String value1, String value2) {
            addCriterion("user_sex not between", value1, value2, "userSex");
            return (Criteria) this;
        }

        public Criteria andUserApartmentIsNull() {
            addCriterion("user_apartment is null");
            return (Criteria) this;
        }

        public Criteria andUserApartmentIsNotNull() {
            addCriterion("user_apartment is not null");
            return (Criteria) this;
        }

        public Criteria andUserApartmentEqualTo(String value) {
            addCriterion("user_apartment =", value, "userApartment");
            return (Criteria) this;
        }

        public Criteria andUserApartmentNotEqualTo(String value) {
            addCriterion("user_apartment <>", value, "userApartment");
            return (Criteria) this;
        }

        public Criteria andUserApartmentGreaterThan(String value) {
            addCriterion("user_apartment >", value, "userApartment");
            return (Criteria) this;
        }

        public Criteria andUserApartmentGreaterThanOrEqualTo(String value) {
            addCriterion("user_apartment >=", value, "userApartment");
            return (Criteria) this;
        }

        public Criteria andUserApartmentLessThan(String value) {
            addCriterion("user_apartment <", value, "userApartment");
            return (Criteria) this;
        }

        public Criteria andUserApartmentLessThanOrEqualTo(String value) {
            addCriterion("user_apartment <=", value, "userApartment");
            return (Criteria) this;
        }

        public Criteria andUserApartmentLike(String value) {
            addCriterion("user_apartment like", value, "userApartment");
            return (Criteria) this;
        }

        public Criteria andUserApartmentNotLike(String value) {
            addCriterion("user_apartment not like", value, "userApartment");
            return (Criteria) this;
        }

        public Criteria andUserApartmentIn(List<String> values) {
            addCriterion("user_apartment in", values, "userApartment");
            return (Criteria) this;
        }

        public Criteria andUserApartmentNotIn(List<String> values) {
            addCriterion("user_apartment not in", values, "userApartment");
            return (Criteria) this;
        }

        public Criteria andUserApartmentBetween(String value1, String value2) {
            addCriterion("user_apartment between", value1, value2, "userApartment");
            return (Criteria) this;
        }

        public Criteria andUserApartmentNotBetween(String value1, String value2) {
            addCriterion("user_apartment not between", value1, value2, "userApartment");
            return (Criteria) this;
        }

        public Criteria andUserCreateTimeIsNull() {
            addCriterion("user_create_time is null");
            return (Criteria) this;
        }

        public Criteria andUserCreateTimeIsNotNull() {
            addCriterion("user_create_time is not null");
            return (Criteria) this;
        }

        public Criteria andUserCreateTimeEqualTo(Date value) {
            addCriterion("user_create_time =", value, "userCreateTime");
            return (Criteria) this;
        }

        public Criteria andUserCreateTimeNotEqualTo(Date value) {
            addCriterion("user_create_time <>", value, "userCreateTime");
            return (Criteria) this;
        }

        public Criteria andUserCreateTimeGreaterThan(Date value) {
            addCriterion("user_create_time >", value, "userCreateTime");
            return (Criteria) this;
        }

        public Criteria andUserCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("user_create_time >=", value, "userCreateTime");
            return (Criteria) this;
        }

        public Criteria andUserCreateTimeLessThan(Date value) {
            addCriterion("user_create_time <", value, "userCreateTime");
            return (Criteria) this;
        }

        public Criteria andUserCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("user_create_time <=", value, "userCreateTime");
            return (Criteria) this;
        }

        public Criteria andUserCreateTimeIn(List<Date> values) {
            addCriterion("user_create_time in", values, "userCreateTime");
            return (Criteria) this;
        }

        public Criteria andUserCreateTimeNotIn(List<Date> values) {
            addCriterion("user_create_time not in", values, "userCreateTime");
            return (Criteria) this;
        }

        public Criteria andUserCreateTimeBetween(Date value1, Date value2) {
            addCriterion("user_create_time between", value1, value2, "userCreateTime");
            return (Criteria) this;
        }

        public Criteria andUserCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("user_create_time not between", value1, value2, "userCreateTime");
            return (Criteria) this;
        }

        public Criteria andUserCreateUserIsNull() {
            addCriterion("user_create_user is null");
            return (Criteria) this;
        }

        public Criteria andUserCreateUserIsNotNull() {
            addCriterion("user_create_user is not null");
            return (Criteria) this;
        }

        public Criteria andUserCreateUserEqualTo(String value) {
            addCriterion("user_create_user =", value, "userCreateUser");
            return (Criteria) this;
        }

        public Criteria andUserCreateUserNotEqualTo(String value) {
            addCriterion("user_create_user <>", value, "userCreateUser");
            return (Criteria) this;
        }

        public Criteria andUserCreateUserGreaterThan(String value) {
            addCriterion("user_create_user >", value, "userCreateUser");
            return (Criteria) this;
        }

        public Criteria andUserCreateUserGreaterThanOrEqualTo(String value) {
            addCriterion("user_create_user >=", value, "userCreateUser");
            return (Criteria) this;
        }

        public Criteria andUserCreateUserLessThan(String value) {
            addCriterion("user_create_user <", value, "userCreateUser");
            return (Criteria) this;
        }

        public Criteria andUserCreateUserLessThanOrEqualTo(String value) {
            addCriterion("user_create_user <=", value, "userCreateUser");
            return (Criteria) this;
        }

        public Criteria andUserCreateUserLike(String value) {
            addCriterion("user_create_user like", value, "userCreateUser");
            return (Criteria) this;
        }

        public Criteria andUserCreateUserNotLike(String value) {
            addCriterion("user_create_user not like", value, "userCreateUser");
            return (Criteria) this;
        }

        public Criteria andUserCreateUserIn(List<String> values) {
            addCriterion("user_create_user in", values, "userCreateUser");
            return (Criteria) this;
        }

        public Criteria andUserCreateUserNotIn(List<String> values) {
            addCriterion("user_create_user not in", values, "userCreateUser");
            return (Criteria) this;
        }

        public Criteria andUserCreateUserBetween(String value1, String value2) {
            addCriterion("user_create_user between", value1, value2, "userCreateUser");
            return (Criteria) this;
        }

        public Criteria andUserCreateUserNotBetween(String value1, String value2) {
            addCriterion("user_create_user not between", value1, value2, "userCreateUser");
            return (Criteria) this;
        }

        public Criteria andUserUpdateTimeIsNull() {
            addCriterion("user_update_time is null");
            return (Criteria) this;
        }

        public Criteria andUserUpdateTimeIsNotNull() {
            addCriterion("user_update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUserUpdateTimeEqualTo(Date value) {
            addCriterion("user_update_time =", value, "userUpdateTime");
            return (Criteria) this;
        }

        public Criteria andUserUpdateTimeNotEqualTo(Date value) {
            addCriterion("user_update_time <>", value, "userUpdateTime");
            return (Criteria) this;
        }

        public Criteria andUserUpdateTimeGreaterThan(Date value) {
            addCriterion("user_update_time >", value, "userUpdateTime");
            return (Criteria) this;
        }

        public Criteria andUserUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("user_update_time >=", value, "userUpdateTime");
            return (Criteria) this;
        }

        public Criteria andUserUpdateTimeLessThan(Date value) {
            addCriterion("user_update_time <", value, "userUpdateTime");
            return (Criteria) this;
        }

        public Criteria andUserUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("user_update_time <=", value, "userUpdateTime");
            return (Criteria) this;
        }

        public Criteria andUserUpdateTimeIn(List<Date> values) {
            addCriterion("user_update_time in", values, "userUpdateTime");
            return (Criteria) this;
        }

        public Criteria andUserUpdateTimeNotIn(List<Date> values) {
            addCriterion("user_update_time not in", values, "userUpdateTime");
            return (Criteria) this;
        }

        public Criteria andUserUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("user_update_time between", value1, value2, "userUpdateTime");
            return (Criteria) this;
        }

        public Criteria andUserUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("user_update_time not between", value1, value2, "userUpdateTime");
            return (Criteria) this;
        }

        public Criteria andUserUpdateUserIsNull() {
            addCriterion("user_update_user is null");
            return (Criteria) this;
        }

        public Criteria andUserUpdateUserIsNotNull() {
            addCriterion("user_update_user is not null");
            return (Criteria) this;
        }

        public Criteria andUserUpdateUserEqualTo(String value) {
            addCriterion("user_update_user =", value, "userUpdateUser");
            return (Criteria) this;
        }

        public Criteria andUserUpdateUserNotEqualTo(String value) {
            addCriterion("user_update_user <>", value, "userUpdateUser");
            return (Criteria) this;
        }

        public Criteria andUserUpdateUserGreaterThan(String value) {
            addCriterion("user_update_user >", value, "userUpdateUser");
            return (Criteria) this;
        }

        public Criteria andUserUpdateUserGreaterThanOrEqualTo(String value) {
            addCriterion("user_update_user >=", value, "userUpdateUser");
            return (Criteria) this;
        }

        public Criteria andUserUpdateUserLessThan(String value) {
            addCriterion("user_update_user <", value, "userUpdateUser");
            return (Criteria) this;
        }

        public Criteria andUserUpdateUserLessThanOrEqualTo(String value) {
            addCriterion("user_update_user <=", value, "userUpdateUser");
            return (Criteria) this;
        }

        public Criteria andUserUpdateUserLike(String value) {
            addCriterion("user_update_user like", value, "userUpdateUser");
            return (Criteria) this;
        }

        public Criteria andUserUpdateUserNotLike(String value) {
            addCriterion("user_update_user not like", value, "userUpdateUser");
            return (Criteria) this;
        }

        public Criteria andUserUpdateUserIn(List<String> values) {
            addCriterion("user_update_user in", values, "userUpdateUser");
            return (Criteria) this;
        }

        public Criteria andUserUpdateUserNotIn(List<String> values) {
            addCriterion("user_update_user not in", values, "userUpdateUser");
            return (Criteria) this;
        }

        public Criteria andUserUpdateUserBetween(String value1, String value2) {
            addCriterion("user_update_user between", value1, value2, "userUpdateUser");
            return (Criteria) this;
        }

        public Criteria andUserUpdateUserNotBetween(String value1, String value2) {
            addCriterion("user_update_user not between", value1, value2, "userUpdateUser");
            return (Criteria) this;
        }

        public Criteria andUserMobilePhoneIsNull() {
            addCriterion("user_mobile_phone is null");
            return (Criteria) this;
        }

        public Criteria andUserMobilePhoneIsNotNull() {
            addCriterion("user_mobile_phone is not null");
            return (Criteria) this;
        }

        public Criteria andUserMobilePhoneEqualTo(String value) {
            addCriterion("user_mobile_phone =", value, "userMobilePhone");
            return (Criteria) this;
        }

        public Criteria andUserMobilePhoneNotEqualTo(String value) {
            addCriterion("user_mobile_phone <>", value, "userMobilePhone");
            return (Criteria) this;
        }

        public Criteria andUserMobilePhoneGreaterThan(String value) {
            addCriterion("user_mobile_phone >", value, "userMobilePhone");
            return (Criteria) this;
        }

        public Criteria andUserMobilePhoneGreaterThanOrEqualTo(String value) {
            addCriterion("user_mobile_phone >=", value, "userMobilePhone");
            return (Criteria) this;
        }

        public Criteria andUserMobilePhoneLessThan(String value) {
            addCriterion("user_mobile_phone <", value, "userMobilePhone");
            return (Criteria) this;
        }

        public Criteria andUserMobilePhoneLessThanOrEqualTo(String value) {
            addCriterion("user_mobile_phone <=", value, "userMobilePhone");
            return (Criteria) this;
        }

        public Criteria andUserMobilePhoneLike(String value) {
            addCriterion("user_mobile_phone like", value, "userMobilePhone");
            return (Criteria) this;
        }

        public Criteria andUserMobilePhoneNotLike(String value) {
            addCriterion("user_mobile_phone not like", value, "userMobilePhone");
            return (Criteria) this;
        }

        public Criteria andUserMobilePhoneIn(List<String> values) {
            addCriterion("user_mobile_phone in", values, "userMobilePhone");
            return (Criteria) this;
        }

        public Criteria andUserMobilePhoneNotIn(List<String> values) {
            addCriterion("user_mobile_phone not in", values, "userMobilePhone");
            return (Criteria) this;
        }

        public Criteria andUserMobilePhoneBetween(String value1, String value2) {
            addCriterion("user_mobile_phone between", value1, value2, "userMobilePhone");
            return (Criteria) this;
        }

        public Criteria andUserMobilePhoneNotBetween(String value1, String value2) {
            addCriterion("user_mobile_phone not between", value1, value2, "userMobilePhone");
            return (Criteria) this;
        }

        public Criteria andUserSortIsNull() {
            addCriterion("user_sort is null");
            return (Criteria) this;
        }

        public Criteria andUserSortIsNotNull() {
            addCriterion("user_sort is not null");
            return (Criteria) this;
        }

        public Criteria andUserSortEqualTo(String value) {
            addCriterion("user_sort =", value, "userSort");
            return (Criteria) this;
        }

        public Criteria andUserSortNotEqualTo(String value) {
            addCriterion("user_sort <>", value, "userSort");
            return (Criteria) this;
        }

        public Criteria andUserSortGreaterThan(String value) {
            addCriterion("user_sort >", value, "userSort");
            return (Criteria) this;
        }

        public Criteria andUserSortGreaterThanOrEqualTo(String value) {
            addCriterion("user_sort >=", value, "userSort");
            return (Criteria) this;
        }

        public Criteria andUserSortLessThan(String value) {
            addCriterion("user_sort <", value, "userSort");
            return (Criteria) this;
        }

        public Criteria andUserSortLessThanOrEqualTo(String value) {
            addCriterion("user_sort <=", value, "userSort");
            return (Criteria) this;
        }

        public Criteria andUserSortLike(String value) {
            addCriterion("user_sort like", value, "userSort");
            return (Criteria) this;
        }

        public Criteria andUserSortNotLike(String value) {
            addCriterion("user_sort not like", value, "userSort");
            return (Criteria) this;
        }

        public Criteria andUserSortIn(List<String> values) {
            addCriterion("user_sort in", values, "userSort");
            return (Criteria) this;
        }

        public Criteria andUserSortNotIn(List<String> values) {
            addCriterion("user_sort not in", values, "userSort");
            return (Criteria) this;
        }

        public Criteria andUserSortBetween(String value1, String value2) {
            addCriterion("user_sort between", value1, value2, "userSort");
            return (Criteria) this;
        }

        public Criteria andUserSortNotBetween(String value1, String value2) {
            addCriterion("user_sort not between", value1, value2, "userSort");
            return (Criteria) this;
        }

        public Criteria andUserStatusIsNull() {
            addCriterion("user_status is null");
            return (Criteria) this;
        }

        public Criteria andUserStatusIsNotNull() {
            addCriterion("user_status is not null");
            return (Criteria) this;
        }

        public Criteria andUserStatusEqualTo(String value) {
            addCriterion("user_status =", value, "userStatus");
            return (Criteria) this;
        }

        public Criteria andUserStatusNotEqualTo(String value) {
            addCriterion("user_status <>", value, "userStatus");
            return (Criteria) this;
        }

        public Criteria andUserStatusGreaterThan(String value) {
            addCriterion("user_status >", value, "userStatus");
            return (Criteria) this;
        }

        public Criteria andUserStatusGreaterThanOrEqualTo(String value) {
            addCriterion("user_status >=", value, "userStatus");
            return (Criteria) this;
        }

        public Criteria andUserStatusLessThan(String value) {
            addCriterion("user_status <", value, "userStatus");
            return (Criteria) this;
        }

        public Criteria andUserStatusLessThanOrEqualTo(String value) {
            addCriterion("user_status <=", value, "userStatus");
            return (Criteria) this;
        }

        public Criteria andUserStatusLike(String value) {
            addCriterion("user_status like", value, "userStatus");
            return (Criteria) this;
        }

        public Criteria andUserStatusNotLike(String value) {
            addCriterion("user_status not like", value, "userStatus");
            return (Criteria) this;
        }

        public Criteria andUserStatusIn(List<String> values) {
            addCriterion("user_status in", values, "userStatus");
            return (Criteria) this;
        }

        public Criteria andUserStatusNotIn(List<String> values) {
            addCriterion("user_status not in", values, "userStatus");
            return (Criteria) this;
        }

        public Criteria andUserStatusBetween(String value1, String value2) {
            addCriterion("user_status between", value1, value2, "userStatus");
            return (Criteria) this;
        }

        public Criteria andUserStatusNotBetween(String value1, String value2) {
            addCriterion("user_status not between", value1, value2, "userStatus");
            return (Criteria) this;
        }

        public Criteria andUserRoleIsNull() {
            addCriterion("user_role is null");
            return (Criteria) this;
        }

        public Criteria andUserRoleIsNotNull() {
            addCriterion("user_role is not null");
            return (Criteria) this;
        }

        public Criteria andUserRoleEqualTo(String value) {
            addCriterion("user_role =", value, "userRole");
            return (Criteria) this;
        }

        public Criteria andUserRoleNotEqualTo(String value) {
            addCriterion("user_role <>", value, "userRole");
            return (Criteria) this;
        }

        public Criteria andUserRoleGreaterThan(String value) {
            addCriterion("user_role >", value, "userRole");
            return (Criteria) this;
        }

        public Criteria andUserRoleGreaterThanOrEqualTo(String value) {
            addCriterion("user_role >=", value, "userRole");
            return (Criteria) this;
        }

        public Criteria andUserRoleLessThan(String value) {
            addCriterion("user_role <", value, "userRole");
            return (Criteria) this;
        }

        public Criteria andUserRoleLessThanOrEqualTo(String value) {
            addCriterion("user_role <=", value, "userRole");
            return (Criteria) this;
        }

        public Criteria andUserRoleLike(String value) {
            addCriterion("user_role like", value, "userRole");
            return (Criteria) this;
        }

        public Criteria andUserRoleNotLike(String value) {
            addCriterion("user_role not like", value, "userRole");
            return (Criteria) this;
        }

        public Criteria andUserRoleIn(List<String> values) {
            addCriterion("user_role in", values, "userRole");
            return (Criteria) this;
        }

        public Criteria andUserRoleNotIn(List<String> values) {
            addCriterion("user_role not in", values, "userRole");
            return (Criteria) this;
        }

        public Criteria andUserRoleBetween(String value1, String value2) {
            addCriterion("user_role between", value1, value2, "userRole");
            return (Criteria) this;
        }

        public Criteria andUserRoleNotBetween(String value1, String value2) {
            addCriterion("user_role not between", value1, value2, "userRole");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}